package zifuchuan;

import com.sun.org.apache.bcel.internal.generic.LNEG;

import java.util.Map;
import java.util.Scanner;

public class _11密码脱落 {
    /**
     * X星球的考古学家发现了一批古代留下来的密码。
     * 这些密码是由A、B、C、D 四种植物的种子串成的序列。
     * 仔细分析发现，这些密码串当初应该是前后对称的（也就是我们说的镜像串）。
     * 由于年代久远，其中许多种子脱落了，因而可能会失去镜像的特征。
     * 你的任务是：
     * 给定一个现在看到的密码串，计算一下从当初的状态，它要至少脱落多少个种子，才可能会变成现在的样子。
     * 输入一行，表示现在看到的密码串（长度不大于1000）
     * 要求输出一个正整数，表示至少脱落了多少个种子。
     * 例如，输入：
     * ABCBA
     * 则程序应该输出：
     * 0
     * 再例如，输入：
     * ABDCDCBABC
     * 则程序应该输出：
     * 3
     */
    static String A;
    static String backA;

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        A = sc.nextLine();
        backA = "";
        for (int i = A.length() - 1; i >= 0; i--){
            backA += A.charAt(i);
        }
        int maxLength = dfs(A.length()-1,backA.length()-1);  //7
        int res = A.length() - maxLength;
        System.out.println(res);
    }

    public static int dfs(int lenA, int lenB) {
        if (lenA == -1 || lenB == -1) {
            return 0;
        }
        if (A.charAt(lenA) == backA.charAt(lenB)) {
            return dfs(lenA - 1, lenB - 1) + 1;
        } else {
            return Math.max(dfs(lenA - 1, lenB), dfs(lenA, lenB - 1));
        }
    }
}
